import { removeUserInfo } from '@/utils';
import axios from 'axios'
import { getToken } from '.';
import { message } from 'antd';
import { createBrowserHistory } from 'history'
const history = createBrowserHistory();
const request = axios.create({
  baseURL: import.meta.env.VITE_BASE_URL,
  timeout: 6000
})
// 添加拦截器
request.interceptors.request.use(function (config) {
  if (getToken()) {
    config.headers.accessToken = getToken();
  }
  return config;
}, function (error) {

  return Promise.reject(error);
});

request.interceptors.response.use(function (res) {
  switch (res.data.code) {
    case 403:
      // 登录状态过期 弹出提示 清除 登录相关缓存 去登录页
      message.error('登录状态过期', 1, () => {
        removeUserInfo();
        history.replace('/login');
        history.go(0);
      })
      break;
    case 403:
      // 未登录 直接去登录
      break;

    default:
      break;
  }
  return res;
}, function (error) {
  return Promise.reject(error);
});
export default request